Zetachain 雑解説
Zetachainとは?
オムニレイヤー、あるいはL0にあたるブロックチェーンを作るプロジェクト。
クロスチェーンプロジェクトでもあり、マルチチェーンプロジェクトでもある。
どのようなチェーン(非スマコンチェーンも含む)をも接続し、チェーン間の資産移動だけではなくチェーン間をまたいだDappが作れるようになる。
まず前提としてマルチチェーン/クロスチェーンの説明
基本情報
CosmosSDKを使用し、Tendermintコンセンサスを使用するPoSのブロックチェーン。IBC使って他のチェーンと繋がるかどうかはよくわかっていないが、少なくとも今はやっていない。
EVM互換を持つ独自のVMであるzEVMを持つ。
現在はテスト段階なのでPoAだが、最終的にはDPoSになっていく。
何が凄いのか?
理論上、任意のチェーンと任意のチェーンを接続できる。たぶん。
どのように繋ぐのか?
二種類の方法がある。
クロスチェーンメッセージングとオムニチェーンスマートコントラクト
前者は割と従来的な手法、LayerZeroとかがやってる手法
後者の方が画期的。
まずZetachainを使用したいエンドユーザーがzetachainが指定するコントラクト、或いはEOAに対して、必要な量のトークンをzetachainを通してやりたい行動をメモして送信する。
Zetachainバリデーターは常に他のチェーンのTX(BTCとかETHとか)を確認していて、上記のアドレスに送金txがあったら、そのトランザクションのメモを見て、ゼータチェーンを介して、行先のチェーンでtx作成、目標のアドレスに届ける。というフローになる。
理論上、これで、あらゆるチェーンを接続できるらしい。
疑問点
プライバシーチェーン、特にTXの内容そのものがわからなくなっているチェーンではどうなるのか?
そもそもそのメモ欄が公開されてないといけないので、これが隠れてるチェーンでは実装は不可能では?
チェーンのReorgが会った際にどうするか?
なんか、一旦Zetachainを停止してどうするか決めるらしい。あんまこの辺決まってなくて、どうすんねんという感じ。
ガス代が結局高そう
すくなくともチェーンA、B、そしてZetachainという三つのガス代を払わないといけないため、ガス代はふつうのコントラクトよりも高そう。
チェーンのオンボーディングはどうするのか?
結局のところ、Zetachainが他のチェーンと繋がるためには何らかのコントラクトやアカウントをZetachain上に作らないといけない。それらの秘密鍵はTSSで保持されるとして、そもそもそれらを作る、つまりチェーンのオンボーディングのフローはどうするのか?
でも、任意のチェーンを好きに接続